﻿/***********************************************************************************************
 * 
 * ProjectName: WMSSoft.Lib.WinKStart
 * 
 * Description: Class to configure reading style to object
 * 
 * Created:     23.08.2014
 * 
 * Author:      matthias wagler - matthias@WMSSoft.de
 * 
 * Copyright:   Copyright 2014 by WMSSoft.net
 * 
 * License:     GPLv3
 * 
 * History:     23.08.2014 - matthias wagler matthias@WMSSoft.de   -   Created
 * 
 **********************************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Media;

namespace WMSSoft.Lib.WinKStart.Classes.Styles
{
    /// <summary>
    /// The Class Contains Configuration - Objects to describe Styles for all sub elements in a Window
    /// </summary>
    public class cUIWindowElements
    {
        private cUIElementImage _UserPicture = null;
        private cUIElement _UserComputerName = null;
        private cUIElementImage _SearchPicture = null;
        private cUIElement _Search = null;
        private cUIElement _SearchBox = null;
        private cUIElementRegionPosition _RegionPosition = null;
        private cUIElementRegion _AllRegions = null;
        private Dictionary<string, cUIElementRegion> _Regions = null;
        private cUIElementPanel _AllPanels = null;
        private Dictionary<string, cUIElementPanel> _Panels = null;
        private cUIElementRegionButtons _RegionalButtons = null;

        /// <summary>
        /// Describe style informations for the user picture
        /// </summary>
        public cUIElementImage UserPicture
        {
            get { return _UserPicture; }
            set { _UserPicture = value; }
        }

        /// <summary>
        /// Describe the style for the label with the user- and computer name
        /// </summary>
        public cUIElement UserComputerName
        {
            get { return _UserComputerName; }
            set { _UserComputerName = value; }
        }

        /// <summary>
        /// Describe style informations for the search picture
        /// </summary>
        public cUIElementImage SearchPicture
        {
            get { return _SearchPicture; }
            set { _SearchPicture = value; }
        }

        /// <summary>
        ///  Describe the style for the label with the search name
        /// </summary>
        public cUIElement Search
        {
            get { return _Search; }
            set { _Search = value; }
        }

        /// <summary>
        /// Describe the style for the text field to enter the search text
        /// </summary>
        public cUIElement SearchBox
        {
            get { return _SearchBox; }
            set { _SearchBox = value; }
        }

        /// <summary>
        /// Set Position and Height for the Regions
        /// </summary>
        public cUIElementRegionPosition RegionPositions
        {
            get { return _RegionPosition; }
            set { _RegionPosition = value; }
        }

        /// <summary>
        /// Describe the Style used for all Regions
        /// </summary>
        public cUIElementRegion AllRegions
        {
            get { return _AllRegions; }
            set { _AllRegions = value; }
        }

        /// <summary>
        /// escribe the Style used for a special named region
        /// </summary>
        public Dictionary<string, cUIElementRegion> Regions
        {
            get { return _Regions; }
            set { _Regions = value; }
        }

        /// <summary>
        /// Describe a Style used for all Panels
        /// </summary>
        public cUIElementPanel AllPanels
        {
            get { return _AllPanels; }
            set { _AllPanels = value; }
        }

        /// <summary>
        /// Describe the Style used for a special named Panel
        /// </summary>
        public Dictionary<string, cUIElementPanel> Panels
        {
            get { return _Panels; }
            set { _Panels = value; }
        }

        /// <summary>
        /// Describe the Style used for the Region activate Buttons
        /// </summary>
        public cUIElementRegionButtons RegionButtons
        {
            get { return _RegionalButtons; }
            set { _RegionalButtons = value; }
        }

    }
}
